package com.mmq.ets.modele;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.geom.RoundRectangle2D;
/**
	Cette classe possède les configurations de base un cercle
@author Francisco Quilodran Chavez
@version 1.1
*/
public class Cercle extends AbstractForme
{
	private int diametre;
	/**
	 * Constructor sans arguments
	 */
	public Cercle() 
	{
		this.setCouleur(Color.red);
	}
	/**
	 * 
	 * @param nseq numéro d'identification
	 * @param centreX point du centre x
	 * @param centreY point du centre y
	 * @param rayon rayon du cercle
	 * @param couleur est definie par défaut rouge.
	 */
	public Cercle(int nseq,int centreX, int centreY, int rayon) 
	{
		super(nseq,centreX, centreY);
		this.diametre=2*rayon;
		this.setCouleur(new Color(1f, 0f, 0f, 0.7f));
	}
	/**
	 * Dessine un carre à l'aide de «fillOval»
	 * @see Graphics.fillOval
	 */
	@Override
	public void dessinerForme(Graphics g) 
	{
		//Point pointDepartXY=trouverPointDepartXY(getPointDepartX(), getPointDepartY());
		g.setColor(getCouleur());
		//g.fillOval(pointDepartXY.x, pointDepartXY.y, diametre, diametre);
		g.fillOval(getPointDepartX(), getPointDepartY(), diametre, diametre);
		g.setColor(Color.black);
		
		g.drawRoundRect(this.getPointDepartX(), this.getPointDepartY(), diametre, diametre,1,1);
	}
	@Override
	public double getAire() 
	{
		return Math.PI*Math.pow((this.diametre/2),2);
	}
	@Override
	public double getDistanceMaximale() 
	{	
		return diametre;
	}
	@Override
	public double getHauteur() {
		// TODO Auto-generated method stub
		return diametre;
	}
	@Override
	public double getLargeur() {
		return diametre;
	}

}
